﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Diagnostics;
using EditWebSite.Presentation;
using System.Net;

namespace EditWebSite
{
    static class Program
    {
        internal static Database.User Utente;

        /// <summary>
        /// Punto di ingresso principale dell'applicazione.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Utente = new EditWebSite.Database.User();
            try
            {

                MainHelper helper = new MainHelper();

                if (helper.LoginUtente())
                {
                    Utente = helper.User;
                    helper.AvviaProgrammaPrincipale(true);
                }
            }
            catch (WebException)
            {
                if (Messaggi.Confirm("Non è possibile collegarsi con il server.\r\nLavorare offline?"))
                {
                    try
                    {
                        MainHelper helper = new MainHelper();

                        Utente = new EditWebSite.Database.User();
                        Utente.Username = string.Empty;
                        helper.AvviaProgrammaPrincipale(false);
                    }
                    catch (Exception ex)
                    {
                        #region LOGIC
#if DEBUG
                        Debugger.Break();
#endif
                        Messaggi.Error(ex.Message);
                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                #region LOGIC
#if DEBUG
                Debugger.Break();
#endif
                Messaggi.Error(ex.Message);
                #endregion
            }
        }
    }
}